/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Model;

import Dao.CidadeDao;
import Dao.FabricaConexao;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Diego
 */
public class CidadeModel {

    private int CodCidade;
    private String NomeCidade;
    private String EstadoCidade;
    private String CepCidade;

    /**
     * @return the CodCidade
     */
    public CidadeModel() {
        this.CodCidade = -1;
        this.NomeCidade = "";
        this.EstadoCidade = "";
        this.CepCidade = "";
    }

    public int getCodCidade() {
        return CodCidade;
    }

    /**
     * @param CodCidade the CodCidade to set
     */
    public void setCodCidade(int CodCidade) {
        this.CodCidade = CodCidade;
    }

    /**
     * @return the NomeCidade
     */
    public String getNomeCidade() {
        return NomeCidade;
    }

    /**
     * @param NomeCidade the NomeCidade to set
     */
    public void setNomeCidade(String NomeCidade) {
        this.NomeCidade = NomeCidade;
    }

    /**
     * @return the EstadoCidade
     */
    public String getEstadoCidade() {
        return EstadoCidade;
    }

    /**
     * @param EstadoCidade the EstadoCidade to set
     */
    public void setEstadoCidade(String EstadoCidade) {
        this.EstadoCidade = EstadoCidade;
    }

    /**
     * @return the CepCidade
     */
    public String getCepCidade() {
        return CepCidade;
    }

    /**
     * @param CepCidade the CepCidade to set
     */
    public void setCepCidade(String CepCidade) {
        this.CepCidade = CepCidade;
    }

    public void setProximoCodigo() {
        int ProximoCodigo = CidadeDao.PegaCodPelaNavegacao(CidadeDao.cNavUltimo, 0);
        this.CodCidade = ProximoCodigo + 1;
    }

    public void Salvar() {
        CidadeDao.Salvar(this);
    }

    public void RecuperaObjeto(int iCod) {
        CidadeModel CidadeTemp = CidadeDao.RecuperarCidade(iCod);
        this.setCodCidade(CidadeTemp.getCodCidade());
        this.setNomeCidade(CidadeTemp.getNomeCidade());
        this.setEstadoCidade(CidadeTemp.getEstadoCidade());
        this.setCepCidade(CidadeTemp.getCepCidade());
       
    }
     public void RecuperaObjeto(String valor) {
        CidadeModel CidadeTemp = CidadeDao.RecuperaCidade(valor);
        this.setCodCidade(CidadeTemp.getCodCidade());
        this.setNomeCidade(CidadeTemp.getNomeCidade());
        this.setEstadoCidade(CidadeTemp.getEstadoCidade());
        this.setCepCidade(CidadeTemp.getCepCidade());
    }
   
    public void Atualizar() {
        CidadeDao.Alterar(this);
    }

    public void Excluir(int CodAtual) {
        CidadeDao.Excluir(CodAtual);
    }

    public void RecuperaObjetoNaveg(int op, int iCod) {
        int CodNav = CidadeDao.PegaCodPelaNavegacao(op, iCod);
        RecuperaObjeto(CodNav);
    }

    public List<CidadeModel> RetornaCidades() {
        List<CidadeModel> Registro = new ArrayList<CidadeModel>();
        String sql=" select * from cidade ";
        Registro = CidadeDao.RecuperaCidades(sql);
        return Registro;        
    }

    public ArrayList<CidadeModel> RecuperaObjetos(String Campo, String Valor, boolean EmQualquerParte) {
        String NomeCampo="";
        if(Campo.equals("0")){
            NomeCampo="NOME_CIDADE";
        }else{
            NomeCampo="ESTADO_CIDADE";
        }
        return CidadeDao.PesquisaObjeto(NomeCampo, Valor, EmQualquerParte);
    }

   

    

   
}
